function Level1(canvas) {
	var level1 = {};
	level1.map = new Map([[sprites.map100, sprites.map101, sprites.map102],[sprites.map110, sprites.map111, sprites.map112]]);
	level1.mapboss = new Map([[sprites.map1boss]]);
	var boss = {
			1: new Boss1('1',{x:500,y:100,
			width: 64, height: 64, 
			direction: 3, 
			frame : 0}) };
	level1.boss = [[boss]];
	var backgroudnObjects100 = {
			1: new MapObjects(1,{x: 340, y: 250, type: 'rock'}),
			2: new MapObjects(2,{x: 400, y: 290, type: 'tallRock'}),
			4: new BonusObjects(4,{x: 250, y: 340, type: 'mushroom'}),
			5: new MapObjects(5,{x: 100, y: 150, type: 'wideTree' }),
			6: new MapObjects(6,{x: 200, y: 85, type: 'wideTree'}),
			7: new MapObjects(7,{x: 290, y: 85, type: 'tallTree'}),
			8: new MapObjects(8,{x: 120, y: 200, type: 'tallTree'}),
			9: new MapObjects(9,{x: 180, y: 210, type: 'tallTree'})
			};
		var backgroudnObjects101 = {
			1: new MapObjects(1,{x: 50, y: 150, type: 'tallTree'}),
			2: new MapObjects(2,{x: 170, y: 80, type: 'tallTree'}),
			3: new MapObjects(3,{x: 170, y: 320, type: 'wideTree'}),
			4: new BonusObjects(4,{x: 250, y: 250, type: 'mushroom'})
		};
		var backgroudnObjects102 = {
			1: new MapObjects(1,{x: 70, y: 95, type: 'tallTree'}),
			2: new MapObjects(2,{x: 120, y: 90, type: 'tallTree'}),
			4: new BonusObjects(4,{x: 550, y: 340, type: 'mushroom'}),
			5: new MapObjects(5,{x: 280, y: 380, type: 'tallRock'}),
			6: new MapObjects(6,{x: 320, y: 380, type: 'rock'}),
			7: new MapObjects(7,{x: 270, y: 0, type: 'bossHouse'})
		};
		var backgroudnObjects110 = {
			1: new MapObjects(1,{x: 50, y: 150, type: 'tallTree'}),
			2: new MapObjects(2,{x: 170, y: 80, type: 'rock'}),
			4: new BonusObjects(4,{x: 150, y: 440, type: 'mushroom'}),
			6: new MapObjects(6,{x: 208, y: 250, type: 'wideTree' })
		};
		var backgroudnObjects111 = {
			1: new MapObjects(1,{x: 100, y: 240, type: 'tallTree'}),
			2: new MapObjects(2,{x: 34, y: 250, type: 'rock'}),
			3: new MapObjects(3,{x: 370, y: 80, type: 'tallTree'}),
			5: new BonusObjects(5,{x: 250, y: 340, type: 'mushroom'}),
			4: new MapObjects(4,{x: 310, y: 320, type: 'wideTree'}),
		};
		var backgroudnObjects112 = {
			1: new MapObjects(1,{x: 50, y: 350, type: 'tallTree'}),
			2: new MapObjects(2,{x: 270, y: 80, type: 'tallTree'}),
			3: new BonusObjects(3,{x: 400, y: 400, type: 'mushroom'}),
			4: new MapObjects(4,{x: 350, y: 150, type: 'tallRock'}),
		};
	level1.backgroundObjects = [[backgroudnObjects100, backgroudnObjects101, backgroudnObjects102],[backgroudnObjects110, backgroudnObjects111, backgroudnObjects112]];
	var bossObjects = {
			5: new BonusObjects(5,{x: 100, y: 200, type: 'redPotion'}),
			6: new BonusObjects(6,{x: 100, y: 400, type: 'redPotion'})
	}
	level1.bossObjects = [[bossObjects]];
		var monsters100 = {};
		monsters100[1] = new Monster(1,{x: 500, y: 260,width: 64, height: 64, 
			sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
			direction: 3, container : monsters100,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		monsters100[2] = new Monster(2,{x: 100, y: 400,width: 64, height: 64, 
			sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
			direction: 3, container : monsters100,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		monsters100[3] = new Monster(3,{x: 300, y: 500,width: 64, height: 64, 
			sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
			direction: 3, container : monsters100,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		monsters100[4] = new Monster(4,{x: 450, y: 520,width: 64, height: 64, 
			sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
			direction: 3, container : monsters100,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		var monsters101 = {};
		for(var i=1;i<=4;i++) {
			monsters101[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
				direction: 3, container : monsters101,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		}
		var monsters102 = {};
		monsters102[1] = new Monster(1,{x: 500, y: 260,width: 64, height: 64, 
			sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
			direction: 3, container : monsters102,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		monsters102[2] = new Monster(2,{x: 100, y: 400,width: 64, height: 64, 
			sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
			direction: 3, container : monsters102,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		var monsters110 = {};
		for(var i=1;i<=4;i++) {
			monsters110[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
				direction: 3, container : monsters110,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		}
		var monsters111 = {};
		for(var i=1;i<=4;i++) {
			monsters111[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
				direction: 3, container : monsters111,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		}
		var monsters112 = {};
		for(var i=1;i<=4;i++) {
			monsters112[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster1walk,spritehit : sprites.monster1hit, damage: 0.5,
				direction: 3, container : monsters112,frame : 0,speed: 1, attackSpeed : 3,health: 50,mana: 50});
		}
	level1.monsters = [[monsters100, monsters101, monsters102],[monsters110, monsters111, monsters112]];
	level1.quests = [new Quest(0, {x: 490, y: 100, height: 64, width: 64, sprite: sprites.quest, requirements: 5, i:0, j:0, item: 'key'})];
	level1.dropables = ['redPotion', 'redPotion', 'bluePotion', 'bluePotion',className + 'Item1'];
	return level1;
}

function Level2(canvas) {
	var level2 = {};
	level2.map = new Map([[sprites.map200, sprites.map201],[sprites.map210, sprites.map211],[sprites.map220, sprites.map221]]);
	level2.miniMap =  new MiniMap(sprites.miniMap2, 2, 3);
	level2.mapboss = new Map([[sprites.map2boss]]);
	level2.miniMap =  new MiniMap(sprites.miniMap2, 2, 3);
	var boss = { 1 :  new Boss2('1',{x:500,y:100,
			width: 64, height: 64, 
			direction: 3, 
			container : level2.boss,
			frame : 0})};
	level2.boss = [[boss]];
	var backgroundObjects200 = {
			1: new MapObjects(1,{x: 340, y: 250, type: 'rock'}),
			2: new MapObjects(2,{x: 400, y: 290, type: 'tallRock'}),
			3: new MapObjects(3,{x: 500, y: 450, type: 'tallRock'})
			};
		var backgroundObjects201 = {
				1: new MapObjects(1,{x: 100, y: 200, type: 'rock'}),
				2: new MapObjects(2,{x: 300, y: 300, type: 'tallRock'}),
				3: new MapObjects(3,{x: 500, y: 390, type: 'tallRock'})
		};
		var backgroundObjects210 = {
				1: new MapObjects(1,{x: 340, y: 250, type: 'rock'}),
				2: new MapObjects(2,{x: 400, y: 290, type: 'tallRock'}),
				3: new MapObjects(3,{x: 400, y: 390, type: 'tallRock'})
		};
		var backgroundObjects211 = {
				1: new MapObjects(1,{x: 60, y: 400, type: 'rock'}),
				2: new MapObjects(2,{x: 500, y: 290, type: 'tallRock'}),
				3: new MapObjects(3,{x: 500, y: 450, type: 'tallRock'})
		};
		var backgroundObjects220 = {
				1: new MapObjects(1,{x: 340, y: 250, type: 'rock'}),
				2: new MapObjects(2,{x: 400, y: 290, type: 'tallRock'}),
				3: new MapObjects(3,{x: 400, y: 390, type: 'tallRock'})	
		};
		var backgroundObjects221 = {
				1: new MapObjects(1,{x: 100, y: 200, type: 'rock'}),
				2: new MapObjects(2,{x: 300, y: 300, type: 'tallRock'}),
				3: new MapObjects(3,{x: 500, y: 390, type: 'tallRock'})
		};
		level2.backgroundObjects = [[backgroundObjects200, backgroundObjects201],[backgroundObjects210, backgroundObjects211],[backgroundObjects220, backgroundObjects221]];
		var bossObjects = {
				5: new BonusObjects(5,{x: 100, y: 200, type: 'redPotion'}),
				6: new BonusObjects(6,{x: 100, y: 400, type: 'redPotion'})
		}
		level2.bossObjects = [[bossObjects]];
		var monsters220 = {};
		monsters220[1] = new Monster(1,{x: 300, y: 400,width: 64, height: 64, 
			sprite: sprites.monster2walk,spritehit : sprites.monster2hit, damage: 0.7,
			direction: 3, container : monsters220,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'});
		monsters220[2] = new Monster(2,{x: 500, y: 300,width: 64, height: 64, 
			sprite: sprites.monster2walk,spritehit : sprites.monster2hit, damage: 0.7,
			direction: 3, container : monsters220,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'});
		monsters220[3] = new Monster(3,{x: 200, y: 375,width: 64, height: 64, 
			sprite: sprites.monster2walk,spritehit : sprites.monster2hit, damage: 0.7,
			direction: 3, container : monsters220,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'});
		var monsters201 = {};
		for(var i=1;i<=4;i++) {
			monsters201[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster2walk,spritehit : sprites.monster2hit,damage: 0.7,
				direction: 3,container : monsters201,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'})
		}
		var monsters210 = {};
		for(var i=1;i<=4;i++) {
			monsters210[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster2walk,spritehit : sprites.monster2hit,damage: 0.7,
				direction: 3,container : monsters210,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'})
		}
		var monsters211 = {};
		for(var i=1;i<=4;i++) {
			monsters211[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster2walk,spritehit : sprites.monster2hit,damage: 0.7,
				direction: 3,container : monsters211,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'})
		}
		var monsters200 = {};
		for(var i=1;i<=4;i++) {
			monsters200[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster2walk,spritehit : sprites.monster2hit,damage: 0.7,
				direction: 3,container : monsters200,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'})
		}
		var monsters221 = {};
		for(var i=1;i<=4;i++) {
			monsters221[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
				sprite: sprites.monster2walk,spritehit : sprites.monster2hit,damage: 0.7,
				direction: 3,container : monsters221,frame : 0,speed: 1, attackSpeed : 3,health: 80,mana: 50,questId: 1, questItem: 'scull'})
		}
	level2.monsters = [[monsters200, monsters201],[monsters210, monsters211],[monsters220, monsters221]];
	level2.quests = [new Quest(1, {x: 490, y: 100, height: 64, width: 64, sprite: sprites.quest, requirements: 5, i:2, j:0})];
	level2.dropables = ['redPotion', 'redPotion', 'bluePotion', 'bluePotion',className + 'Item2'];
	return level2;
}

function Level3(canvas) {
	var level3 = {};
	level3.map = new Map([[sprites.map300, sprites.map301, sprites.map302]]);
	level3.miniMap =  new MiniMap(sprites.miniMap3, 3, 1);
	level3.mapboss = new Map([[sprites.map3boss]]);
	var boss = { 1 : new Boss3('1',{x:500,y:100,
			width: 64, height: 64, 
			direction: 3, 
			container : level3.boss,
			frame : 0})};
	level3.boss = [[boss]];
	var backgroudnObjects300 = {
			1: new MapObjects(1,{x: 340, y: 250, type: 'rock'}),
			2: new MapObjects(2,{x: 400, y: 290, type: 'tallRock'}),
			3: new MapObjects(3,{x: 400, y: 390, type: 'tallRock'})
				
			};
		var backgroudnObjects301 = {
				1: new MapObjects(1,{x: 100, y: 200, type: 'rock'}),
				2: new MapObjects(2,{x: 300, y: 300, type: 'tallRock'}),
				3: new MapObjects(3,{x: 500, y: 390, type: 'tallRock'})
		};
		var backgroudnObjects302 = {
				1: new MapObjects(1,{x: 340, y: 250, type: 'rock'}),
				2: new MapObjects(2,{x: 400, y: 290, type: 'tallRock'}),
				3: new MapObjects(3,{x: 500, y: 450, type: 'tallRock'})
		};
	level3.backgroundObjects = [[backgroudnObjects300, backgroudnObjects301, backgroudnObjects302]];
	var bossObjects = {
			5: new BonusObjects(5,{x: 100, y: 200, type: 'redPotion'}),
			6: new BonusObjects(6,{x: 100, y: 400, type: 'redPotion'})
	}
	level3.bossObjects = [[bossObjects]];
	var monsters300 = {};
	for(var i=1;i<=4;i++) {
		monsters300[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
			sprite: sprites.monster3walk,spritehit : sprites.monster3hit, damage: 0.9,
			direction: 3,container : monsters300, frame : 0,speed: 1, attackSpeed : 3,health: 120,mana: 50,questId: 2})
	}
	var monsters301 = {};
	for(var i=1;i<=4;i++) {
		monsters301[i] = new Monster(i,{x: Math.random()*(canvas.width-100) + 1, y: Math.random()*(canvas.height-100) + 1,width: 64, height: 64, 
			sprite: sprites.monster3walk,spritehit : sprites.monster3hit, damage: 0.9,
			direction: 3,container : monsters301, frame : 0,speed: 1, attackSpeed : 3,health: 120,mana: 50,questId: 2})
	}
	var monsters302 = {};
	monsters302[1] = new Monster(1,{x:100,y:200,width: 64, height: 64, 
		sprite: sprites.monster3walk,spritehit : sprites.monster3hit, damage: 0.9,
		direction: 3,container : monsters302, frame : 0,speed: 1, attackSpeed : 3,health: 120,mana: 50,questId: 2});
	monsters302[2] = new Monster(2,{x:300,y:100,width: 64, height: 64, 
		sprite: sprites.monster3walk,spritehit : sprites.monster3hit, damage: 0.9,
		direction: 3,container : monsters302, frame : 0,speed: 1, attackSpeed : 3,health: 120,mana: 50,questId: 2});
	monsters302[3] = new Monster(3,{x:380,y:350,width: 64, height: 64, 
		sprite: sprites.monster3walk,spritehit : sprites.monster3hit, damage: 0.9,
		direction: 3,container : monsters302, frame : 0,speed: 1, attackSpeed : 3,health: 120,mana: 50,questId: 2});
	level3.monsters = [[monsters300, monsters301, monsters302]];
	level3.quests = [new Quest(2, {x: 490, y: 100, height: 64, width: 64, sprite: sprites.quest, requirements: 6, i:0, j:2})];
	level3.dropables = ['redPotion', 'redPotion', 'bluePotion', 'bluePotion',className + 'Item3'];
	return level3;
}